﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Kokomo.PeInspector.Reflection.Disassembly;
using Kokomo.Lexical.Expressions;
using Kokomo.Lexical.Coding;
using Kokomo.Mirror.Ia32;

namespace Kokomo.PeInspector.Native.Coding
{
	class InstructionStatement : Statement
	{
		public InstructionStatement(
			Ia32Instruction instruction,
			Expression[] arguments
			)
		{
			if (instruction == null) throw new ArgumentNullException("instruction");
			if (arguments == null) throw new ArgumentNullException("arguments");

			this.Instruction = instruction;
			this.Arguments = arguments;
		}

		public Ia32Instruction Instruction { get; private set; }
		public Expression[] Arguments { get; private set; }

		protected override void ValidateCore(CodingContext context)
		{
			throw new NotImplementedException();
		}
	}
}
